package com.ruoyi.shop.goods.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ruoyi.shop.goods.domain.ShopGoodsSku;
import com.ruoyi.shop.goods.vo.ShopGoodsSkuVo;

/**
 * 商品sku信息Mapper接口
 * 
 * @author xuxiang
 * @date 2023-04-21
 */
public interface ShopGoodsSkuMapper {
	/**
	 * 查询商品sku信息
	 * 
	 * @param skuId 商品sku主键
	 * @return 商品sku信息
	 */
	public ShopGoodsSkuVo selectSkuById(Long skuId);

	/**
	 * 跟进商品Id和skuName查询信息
	 * 
	 * @param goodsId
	 * @param skuName
	 * @return
	 */
	public ShopGoodsSku selectByGoodsIdAndSkuName(@Param("goodsId") Long goodsId, @Param("skuName") String skuName);

	/**
	 * 查询商品sku信息列表
	 * 
	 * @param shopGoodsSku 商品sku信息
	 * @return 商品sku信息集合
	 */
	public List<ShopGoodsSku> selectSkuList(ShopGoodsSku shopGoodsSku);

	/**
	 * 根据商品Id查询商品sku列表
	 * 
	 * @param goodsId
	 * @return
	 */
	public List<ShopGoodsSku> selectListByGoodsId(Long goodsId);

	/**
	 * 新增商品sku信息
	 * 
	 * @param shopGoodsSku 商品sku信息
	 * @return 结果
	 */
	public int insertGoodsSku(ShopGoodsSku shopGoodsSku);

	/**
	 * 批量新增商品sku信息
	 * 
	 * @param list
	 * @return
	 */
	public int insertGoodsSkuList(List<ShopGoodsSku> list);

	/**
	 * 修改商品sku信息
	 * 
	 * @param shopGoodsSku 商品sku信息
	 * @return 结果
	 */
	public int updateGoodsSku(ShopGoodsSku shopGoodsSku);

	/**
	 * 删除商品sku信息
	 * 
	 * @param skuId 商品sku信息主键
	 * @return 结果
	 */
	public int deleteSkuById(Long skuId);

	/**
	 * 根据商品Id删除sku列表
	 * 
	 * @param goodsId
	 * @return
	 */
	public int deleteByGoodsId(Long goodsId);
}
